Ignore:
Timestamp:
12/01/16 12:43:03 (7 years ago)
Author:
frank.jaeger
Message:

Verbesserungen an der ALKIS-Buchauskunft (Geschwindigkeit, Fehlerkorrekturen, Mandantenfähigkeit) und an der Mapbender2-Navigation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/info/info/alkis/alkisfsnw.php

    r355 r376  
    66 
    77        Version: 
    8         2011-11-16 Neuer Style class='dbg', Link Historie 
    9         2011-11-17 Parameter der Functions geÀndert 
    10         2011-11-30 import_request_variables, $dbvers PostNAS 0.5 entfernt 
    11         2011-12-01 Summe der AbschnittsflÀchen (NUA) an amtl. BuchflÀche des FS angleichen  
    12         2011-12-16 Zeilenumbruch in Nutzungsart, Spaltenbreite Link 
    13         2012-07-24 Export als CSV, pg_free_result(), pg_close() 
    14         2012-11-27 split deprecated, besser: explode 
    15         2013-01-17 FS-Kennzeichen (ALB-Format) als Parameter statt gmlid möglich 
    16         2013-04-08 deprecated "import_request_variables" ersetzt 
    17         2013-04-11 ID-Links (im Testmodus) auch an Lagebezeichnung (mit/ohne HsNr) und an Nutzungs-Abschnitt 
    18         2013-06-24 Unna: Bodenneuordnung, strittige Grenze 
    19         2013-06-27 Bodenneuordnung u. stritt.Gr. in Tabellen-Struktur, Link zur Bodenerneuerung (neues Modul) 
    20         2014-01-30 Korrektur Nutzungsart (z.B. Friedhof mit class=funktion=0 hatte Anzeige "unbekannt") 
    21         2014-02-06 Korrektur 
    22         2014-09-09 PostNAS 0.8: ohne Tab. "alkis_beziehungen", mehr "endet IS NULL", Spalten varchar statt integer 
    23         2014-09-15 Bei Relationen den Timestamp abschneiden 
    24         2014-09-23 Korrektur "IS NULL" 
    25         2014-09-30 Umbenennung SchlÃŒsseltabellen (Prefix), RÃŒckbau substring(gml_id) 
    26         2014-12-16 Zum Grundbuch einen Hinweis anzeigen, wenn es dazu berechtigte Buchungen gibt. 
    27         2015-12-09 Austausch .ico durch .png 
     8        2016-02-24 Version fuer norGIS-ALKIS-Import 
     9        2016-03-14 Korrekturen 
     10        2016-12-01 HTML5, Gemeinsam genutzte Datenbanken ermöglichen 
    2811 
    2912        ToDo: 
    3013        - BodenschÀtzung anzeigen 
    31         - EntschlÃŒsseln "Bahnkategorie" bei Bahnverkehr, "OberflÀchenmaterial" bei Unland 
    32           Dazu evtl. diese Felder ins Classfld verschieben (Meta-Tabellen!) 
     14        - Bessere Differenzierung bei den Nutzungsarten (Tabelle dafÃŒr aufbauen) 
    3315*/ 
    3416session_start(); 
    3517$id="n"; 
     18$eig="n"; 
    3619$cntget = extract($_GET); 
    3720require_once("alkis_conf_location.php"); 
    3821if ($auth == "mapbender") {require_once($mapbender);} 
    3922include("alkisfkt.php"); 
    40 if ($id == "j") {$idanzeige=true;} else {$idanzeige=false;} 
    4123$keys = isset($_GET["showkey"]) ? $_GET["showkey"] : "n"; 
    4224if ($keys == "j") {$showkey=true;} else {$showkey=false;} 
    4325?> 
    44  
    45 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    46 <html> 
     26<!doctype html> 
     27<html lang="de"> 
    4728<head> 
    48         <meta name="author" content="b600352" > 
    49         <meta http-equiv="cache-control" content="no-cache"> 
    50         <meta http-equiv="pragma" content="no-cache"> 
    51         <meta http-equiv="expires" content="0"> 
    52         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     29        <meta charset="utf-8"> 
    5330        <title>ALKIS Flurst&uuml;cksnachweis</title> 
    5431        <link rel="stylesheet" type="text/css" href="alkisauszug.css"> 
     
    6441</head> 
    6542<body> 
    66  
    6743<?php 
    68  
    69 function ber_bs_hinw($gmls) { 
    70         // Unter einem Grundbuch-Link den Hinweis auf "berechtigte Buchungssstellen" anzeigen 
    71         // In FS-Nachweis wird nur der EigentÃŒmer des direkt gebuchten GrundstÃŒcks angezeigt. 
    72         // Den Erbbauberechtigten sieht man erst in der Grundbuch-Auskunft. 
    73         global $debug, $showkey; 
    74  
    75         // Buchungstelle dien. >an> Buchungstelle herr. 
    76         $sql ="SELECT count(sh.gml_id) AS anz, sh.buchungsart, a.bezeichner 
    77         FROM ax_buchungsstelle sd JOIN ax_buchungsstelle sh ON sd.gml_id=ANY(sh.an)  
    78         LEFT JOIN v_bs_buchungsart a ON sh.buchungsart=a.wert  
    79         WHERE sd.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL GROUP BY sh.buchungsart, a.bezeichner;"; 
    80  
    81         $v = array($gmls); // id dienende BS 
    82         $resan = pg_prepare("", $sql); 
    83         $resan = pg_execute("", $v); 
    84         if (!$resan) { 
    85                 echo "\n<p class='err'>Fehler bei 'berechtigte Buchungsstellen'.</p>\n"; 
    86                 //if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 
    87         } 
    88         $an=0; 
    89         while($rowan = pg_fetch_array($resan)) { 
    90                 $an++; 
    91                 if ($an == 1) {echo "\n\t<br>\n\t<p class='nwlink' title='Andere Grundst&uuml;cke mit Rechten an diesem.'>Berechtigte Buchungen:<br><b>";} 
    92                 if ($an > 1) {echo",<br>";} // kann es gemischste Buchungsarten geben? 
    93                 echo $rowan["anz"]." ".htmlentities($rowan["bezeichner"], ENT_QUOTES, "UTF-8"); 
    94                 if ($showkey) { 
    95                         echo " <span class='key'>(".$rowan["buchungsart"].")</span>"; 
    96                 } 
    97         } 
    98         if ($an == 0) { 
    99                 echo "<br><p class='nwlink' title='Kein anderes Grundst&uuml;ck hat ein Recht an diesem.'>Keine berechtigte Buchung</p>"; 
    100         } else { 
    101                 echo "</b></p>"; 
    102         } 
    103         pg_free_result($resan); 
    104 } 
    105  
    10644// S t a r t 
    107 $con = pg_connect("host=".$dbhost." port=" .$dbport." dbname=".$dbname." user=".$dbuser." password=".$dbpass); 
     45$con = pg_connect($dbconn." options='--application_name=ALKIS-Auskunft_alkisfsnw.php'"); 
    10846if (!$con) echo "<p class='err'>Fehler beim Verbinden der DB</p>\n"; 
    10947 
     
    12159                        $zgemkg=substr($zgemkg, 2, 4); 
    12260                } else { // kein schöner Land .. 
    123                         $land='05'; // NRW, ToDo: Default-Land aus config 
     61                        $land=$defland; // Default-Land aus config 
    12462                } 
    12563                $zflur=str_pad($arr[1], 3 , "0", STR_PAD_LEFT); // Flur-Nr 
     
    13775                $fskzdb=$land.$zgemkg.$zflur.$zzaehler.$znenner.'__'; // FS-Kennz. Format Datenbank 
    13876        } 
    139         // Feld flurstueckskennzeichen ist in DB indiziert 
     77        // Spalte "flurstueckskennzeichen" ist in DB indiziert 
    14078        // Format z.B.'052647002001910013__' oder '05264700200012______' 
    14179        $sql ="SELECT gml_id FROM ax_flurstueck WHERE flurstueckskennzeichen= $1 AND endet IS NULL ;"; 
     
    172110        $gemeinde=$row["gemeinde"]; 
    173111        $flurnummer=$row["flurnummer"]; 
    174         $flstnummer=$row["zaehler"]; 
     112        $zaehler=$row["zaehler"]; 
    175113        $nenner=$row["nenner"]; 
     114        $flstnummer=$zaehler; 
    176115        if ($nenner > 0) {$flstnummer.="/".$nenner;} // BruchNr 
    177116        $fsbuchflae=$row["amtlicheflaeche"]; // amtliche Fl. aus DB-Feld 
     
    189128} 
    190129pg_free_result($res); 
     130 
    191131// Balken 
    192132if ($eig=="j") { 
    193         echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n"; 
    194         echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n"; 
     133        echo "<p class='fsei'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n" 
     134        ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck mit Eigent&uuml;mer</h2>\n"; 
    195135} else { 
    196         echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n"; 
    197         echo "\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n"; 
    198 } 
    199 echo "\n<table class='outer'>\n<tr>\n\t<td>"; // linke Seite 
    200         // darin Tabelle Kennzeichen 
    201         echo "\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>"; 
    202                 echo "\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>"; 
    203                 echo "\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
     136        echo "<p class='fskennz'>ALKIS Flurst&uuml;ck ".$gmkgnr."-".$flurnummer."-".$flstnummer."&nbsp;</p>\n" 
     137        ."\n<h2><img src='ico/Flurstueck.png' width='16' height='16' alt=''> Flurst&uuml;ck</h2>\n"; 
     138} 
     139 
     140// PrÃŒfung der Gebiets-Berechtigung bei gemeinsam genutzten Datenbanken (Kreis und Gemeinde) 
     141// FÃŒr das gkz (z.B. aus dem Mapfile-Namen) wird in der Konfiguration ein Filter gesetzt. 
     142if ( ($filtkreis != '' and $filtkreis != $kreis) or ($filtgem != '' and $filtgem != $gemeinde) ) { 
     143        // Einer der gesetzten Filter passt nicht 
     144        if ($debug > 2) { 
     145//++ Schönes Bild? Stop-Zeichen? 
     146                echo "<p class='err'>Filter Kreis='".$filtkreis."', Gemeinde='".$filtgem."'</p>" 
     147                ."<p class='err'>Flstk. Kreis='".$fskrs."', Gemeinde='".$fsgem."'</p>"; 
     148        } 
     149        echo "\n<br><p class='stop1'>Zugriff nicht erlaubt</p>" 
     150        ."\n<br><p class='stop2'>Dies Flurst&uuml;ck liegt ausserhalb der zust&auml;ndigen Stadt oder Gemeinde.</p>\n</body>\n</html>"; 
     151        exit; 
     152} 
     153 
     154echo "\n<table class='outer'>\n<tr>\n\t<td>" // linke Seite 
     155        ."\n\t<table class='kennzfs' title='Flurst&uuml;ckskennzeichen'>\n\t<tr>" // darin Tabelle Kennzeichen 
     156                ."\n\t\t<td class='head'>Gmkg</td>\n\t\t<td class='head'>Flur</td>\n\t\t<td class='head'>Flurst-Nr.</td>\n\t</tr>" 
     157                ."\n\t<tr>\n\t\t<td title='Gemarkung'>"; 
    204158                if ($showkey) { 
    205159                        echo "<span class='key'>".$gmkgnr."</span><br>"; 
    206160                } 
    207                 echo $gemkname."&nbsp;</td>"; 
    208                 echo "\n\t\t<td title='Flurnummer'>".$flurnummer."</td>"; 
    209                 echo "\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>"; 
    210         echo "\n\t</table>"; 
    211 echo "\n\t</td>\n\t<td>"; // rechte Seite 
    212         // FS-Daten 2 Spalten 
    213         echo "\n\t<table class='fsd'>"; 
    214                 echo "\n\t<tr>\n\t\t<td>Entstehung</td>"; 
    215                 echo "\n\t\t<td>".$entsteh."</td>\n\t</tr>"; 
    216                 echo "\n\t<tr>"; 
    217                         echo "\n\t\t<td>letz. Fortf</td>"; 
    218                         echo "\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
     161                echo $gemkname."&nbsp;</td>" 
     162                ."\n\t\t<td title='Flurnummer'>".$flurnummer."</td>" 
     163                ."\n\t\t<td title='Flurst&uuml;cksnummer (Z&auml;hler / Nenner)'><span class='wichtig'>".$flstnummer."</span></td>\n\t</tr>" 
     164        ."\n\t</table>" 
     165."\n\t</td>\n\t<td>" // rechte Seite 
     166        ."\n\t<table class='fsd'>" // FS-Daten 2 Spalten 
     167                ."\n\t<tr>\n\t\t<td>Entstehung</td>" 
     168                ."\n\t\t<td>".$entsteh."</td>\n\t</tr>" 
     169                ."\n\t<tr>" 
     170                        ."\n\t\t<td>letz. Fortf</td>" 
     171                        ."\n\t\t<td title='Jahrgang / Fortf&uuml;hrungsnummer - Fortf&uuml;hrungsart'>"; 
    219172                                foreach($arrn AS $val) { // Zeile f. jedes Element des Array 
    220173                                        echo trim($val, '"')."<br>"; 
    221174                                } 
    222                         echo "</td>"; 
    223                 echo "\n\t</tr>"; 
    224  
    225         echo "\n\t</table>"; 
    226         if ($idanzeige) {linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); } 
    227 echo "\n\t</td>\n</tr>\n</table>"; 
     175                        echo "</td>" 
     176                ."\n\t</tr>" 
     177        ."\n\t</table>" 
     178."\n\t</td>\n</tr>\n</table>"; 
    228179//      echo "\n<tr>\n\t<td>Finanzamt</td>\n\t<td>".$finanzamt." ".$finame  . "</td>\n</tr>"; 
    229180// Ende Seitenkopf 
    230181 
    231 echo "\n<hr>"; 
    232 echo "\n<p class='nwlink noprint'>weitere Auskunft:</p>"; // oben rechts von der Tabelle 
    233 echo "\n<table class='fs'>"; 
     182echo "\n<hr>" 
     183."\n<p class='nwlink noprint'>weitere Auskunft:</p>" // oben rechts von der Tabelle 
     184."\n<table class='fs'>"; 
    234185 
    235186// ** G e b i e t s z u g e h o e r i g k e i t ** 
     
    254205        echo "<span class='key'>(".$gemeinde.")</span> "; 
    255206} 
    256 echo $gnam."</td><td width='80'>";  // Mindest-Breite der Spalte fuer die Links  
    257         // Link zur FlurstÃŒcks-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft") 
    258         echo "\n<p class='nwlink noprint'>"; 
    259                 echo "\n\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    260                                 if ($idanzeige) {echo "&amp;id=j";} 
    261                                 if ($showkey)   {echo "&amp;showkey=j";} 
    262                         echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie "; 
    263                         echo "<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>"; 
    264                 echo "</a>"; 
    265         echo "\n</p>"; 
    266 echo "</td></tr>"; 
     207// Link zur FS-Historie (passt nicht ganz in die Zeile "Gemeinde", aber gut unter "weitere Auskunft") 
     208echo $gnam."</td><td class='nwlink'>" 
     209        ."\n<p class='nwlink noprint'>" 
     210                ."\n\t<a href='alkisfshist.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     211                        if ($showkey)   {echo "&amp;showkey=j";} 
     212                        echo "' title='Vorg&auml;nger-Flurst&uuml;cke'>Historie " 
     213                        ."<img src='ico/Flurstueck_Historisch.png' width='16' height='16' alt=''>" 
     214                ."</a>" 
     215        ."\n</p>" 
     216. "</td></tr>"; 
    267217pg_free_result($res); 
    268218 
     
    335285                                echo "<td>&nbsp;</td>"; 
    336286                        } 
    337                         echo "\n\t<td>&nbsp;</td>"; 
    338                         echo "\n\t<td class='lr'>"; 
     287                        echo "\n\t<td>&nbsp;</td>" 
     288                        ."\n\t<td class='lr'>"; 
    339289                        if ($showkey) { 
    340290                                echo "<span class='key' title='Straßenschl&uuml;ssel'>(".$row["lage"].")</span>&nbsp;"; 
    341291                        } 
    342                         echo $sname."&nbsp;".$row["hausnummer"]; 
    343                         if ($idanzeige) {linkgml($gkz, $row["gml_id"], "Lagebezeichnung mit Hausnummer", "ax_lagebezeichnungmithausnummer");} 
    344                         echo "</td>"; 
    345                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    346                                 echo "\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]; 
     292                        echo $sname."&nbsp;".$row["hausnummer"]."</td>" 
     293                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
     294                                ."\n\t\t\t<a title='Lagebezeichnung mit Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=m&amp;gmlid=".$row["gml_id"]; 
    347295                                if ($showkey) {echo "&amp;showkey=j";} 
    348                                 echo "'>Lage "; 
    349                                 echo "<img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>"; 
    350                         echo "\n\t\t</p>\n\t</td>"; 
    351                 echo "\n</tr>"; 
     296                                echo "'>Lage <img src='ico/Lage_mit_Haus.png' width='16' height='16' alt=''></a>" 
     297                        ."\n\t\t</p>\n\t</td>" 
     298                ."\n</tr>"; 
    352299                $j++; 
    353300        } 
     301        $cnt_adressen=$j; 
    354302        pg_free_result($res); 
    355303} 
    356 // Verbesserung: mehrere HsNr zur gleichen Straße als Liste? 
     304// +++ Verbesserung: mehrere HsNr zur gleichen Straße als Liste? 
    357305 
    358306// Lagebezeichnung OHNE Hausnummer  (Gewanne oder nur Strasse) 
     
    378326        $lgml=$row["gml_id"]; // key der Lage 
    379327        if (!$gewann == "") { 
    380                 echo "\n<tr>"; 
    381                         echo "\n\t<td class='ll' title='Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>"; 
    382                         echo "\n\t<td></td>"; 
    383                         echo "\n\t<td class='lr'>".$gewann."</td>"; 
    384                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    385                                 echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
     328                echo "\n<tr>" 
     329                        ."\n\t<td class='ll' title='Lagebezeichnung'><img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''> Gewanne:</td>" 
     330                        ."\n\t<td></td>" 
     331                        ."\n\t<td class='lr'>".$gewann."</td>" 
     332                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
     333                                ."\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    386334                                if ($showkey) {echo "&amp;showkey=j";}                           
    387                                 echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>"; 
    388                         echo "\n\t\t</p>\n\t</td>"; 
    389                 echo "\n</tr>"; 
     335                                echo "'>\n\t\t\tLage <img src='ico/Lage_Gewanne.png' width='16' height='16' alt=''></a>" 
     336                        ."\n\t\t</p>\n\t</td>" 
     337                ."\n</tr>"; 
    390338        } 
    391339        // Gleicher DB-Eintrag in zwei HTML-Zeilen, besser nur ein Link 
    392340        if ($skey > 0) { 
    393                 echo "\n<tr>"; 
    394                         echo "\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>"; 
    395                         echo "\n\t<td></td>"; 
    396                         echo "\n\t<td class='lr'>"; 
     341                echo "\n<tr>" 
     342                        ."\n\t<td class='ll'><img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''> Stra&szlig;e:</td>" 
     343                        ."\n\t<td></td>" 
     344                        ."\n\t<td class='lr'>"; 
    397345                        if ($showkey) { 
    398346                                echo "<span class='key'>(".$skey.")</span>&nbsp;"; 
    399347                        } 
    400                         echo $row["bezeichnung"]; 
    401                         if ($idanzeige) {linkgml($gkz, $lgml, "Lagebezeichnung o. HsNr.", "ax_lagebezeichnungohnehausnummer");} 
    402                         echo "</td>"; 
    403                         echo "\n\t<td>\n\t\t<p class='nwlink noprint'>"; 
    404                                 echo "\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
     348                        echo $row["bezeichnung"]."</td>" 
     349                        ."\n\t<td>\n\t\t<p class='nwlink noprint'>" 
     350                                ."\n\t\t\t<a title='Lagebezeichnung Ohne Hausnummer' href='alkislage.php?gkz=".$gkz."&amp;ltyp=o&amp;gmlid=".$lgml; 
    405351                                if ($showkey) {echo "&amp;showkey=j";}                           
    406                                 echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>"; 
    407                         echo "\n\t\t</p>\n\t</td>"; 
    408                 echo "\n</tr>"; 
     352                                echo "'>\n\t\t\tLage <img src='ico/Lage_an_Strasse.png' width='16' height='16' alt=''>\n\t\t\t</a>" 
     353                        ."\n\t\t</p>\n\t</td>" 
     354                ."\n</tr>"; 
    409355        } 
    410356        $j++; 
     
    415361// ** N U T Z U N G ** Gemeinsame FlÀche von NUA und FS 
    416362// Tabellenzeilen (3 Spalten) mit tats. Nutzung zu einem FS ausgeben 
     363 
     364/* N U T Z U N G   C l a s s i c (alt) 
    417365$sql ="SELECT m.title, m.fldclass, m.fldinfo, n.gml_id, n.nutz_id, n.class, n.info, n.zustand, n.name, n.bezeichnung, m.gruppe,  
    418366st_area(st_intersection(n.wkb_geometry,f.wkb_geometry)) AS schnittflae, c.label, c.blabla  
     
    487435                                } 
    488436                        } 
    489  
    490437                        if ($info != "") { // manchmal ein zweites Zusatzfeld (wie entschlÃŒsseln?) 
    491438                                echo ", ".$fldinfo."=".$info; 
     
    505452                        if ($nam != "") {echo "<br>Name: ".$nam;} 
    506453                        if ($bez != "") {echo "<br>Bezeichnung: ".$bez;} 
    507                         if ($idanzeige) {linkgml($gkz, $gml, "Nutzungs-Abschnitt", "");} 
    508454 
    509455                echo "</td>"; 
     
    522468        $j++; 
    523469} 
     470  E N D E   N U T Z U N G   C l a s s i c  */ 
     471 
     472/* Status "Nutzung": 
     473 
     474 Die Classic-Tabelle "nutzung" ist eine Zusammenfassung aller Tabellen mit Nutzungs-FlÀchen 
     475 Die Classic-Tabelle "nutzung_meta" zeigt die Kategorie und Gruppe des Nutzungs-Abschnitts an. 
     476 
     477 Aus der norGIS-Struktur wird ersatzweise VORLÄUFIG die Tabelle "nutz_21" verwendet, 
     478 die das alte ALB-Format der Nutzungs-Abschnitte von FlurstÃŒcken simuliert. 
     479 Hier finden sich bereits verschnittene FlÀchen, aber die gml_id fehlt. 
     480 
     481 Die EntschlÃŒsselung der Nutzungsart in den verschiedenen ALKIS-Varianten ist darin unterentwickelt. 
     482 Diese ist eigentlich fÃŒr jede der getrennten Tabellen der Gruppe Nutzungsrt individuell. 
     483 Die Classic-Lösung mit 2 Zusatzfeldern war schon sehr pauschalisiert, aber  
     484 durch die RÃŒck-Konvertierung in ALB-Strukturen in der norGIS-Version ist das zu stark vereinfacht. 
     485 z.B. wird "WohnbauflÀche" mit der Zusatzeigenschaft "Art der Bebauung": 'Offen' 
     486 nun zur Nutzungsart "Offen". 
     487 Durch JOIN auf die "alkis_elemente" mit einem Teil des SchlÃŒssels wird das zur "WohnbauflÀche, Offen". 
     488 Es sollte eine Tabellen-Struktur bereit gestellt werden, die auch aussagt, dass der Wert "Offen" zur 
     489 Zusatz-Eigenschaft "Art der Bebauung" gehört. Dazu muss das PostProcessing erweitert werden. */ 
     490 
     491 
     492$sql="SELECT e.definition, trim(both FROM n.nutzsl) AS nutzsl, trim(both FROM n.fl) AS fl, trim(both FROM s.nutzung) AS nutzung 
     493 FROM nutz_21 n JOIN nutz_shl s ON n.nutzsl = s.nutzshl 
     494 JOIN alkis_elemente e ON e.kennung = substring(n.nutzsl from 1 for 5) 
     495WHERE n.flsnr = $1 ORDER BY cast(n.fl AS integer) DESC;"; 
     496// Flurstueckskennzeichen mit Trennzeichen im ALB-Format wie 'llgggg-fff-zzzzz/nnn' 
     497// Alternativ könnte auch der VIEW "ax_tatsaechlichenutzungsschluessel" fÃŒr den Text zur Nutzungsart verwendet werden. 
     498 
     499$fskennzalb=$defland.$gmkgnr."-".str_pad($flurnummer,3,"0",STR_PAD_LEFT)."-".str_pad($zaehler,5,"0",STR_PAD_LEFT)."/".str_pad($nenner,3,"0",STR_PAD_LEFT); 
     500// echo "<p class='err'>Kennz ALB='".$fskennzalb."'</p>"; 
     501 
     502$v = array($fskennzalb); 
     503$res = pg_prepare("", $sql); 
     504$res = pg_execute("", $v); 
     505if (!$res) { 
     506        echo "<p class='err'>Fehler bei Suche tats. Nutzung</p>\n"; 
     507        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = FS-Kennz = '".$fskennzalb."'</p>";} 
     508} 
     509 
     510$j=0; 
     511while($row = pg_fetch_array($res)) { 
     512        $flae=$row["fl"]; // BuchflÀche 
     513        $nutzsl=$row["nutzsl"]; // SchlÃŒssel 
     514        $nutzung=$row["nutzung"]; // Bezeichnung aus ALB-Tabelle, "fein" 
     515        $defi=$row["definition"]; // Langer Text mit Beschreibung 
     516        $title=htmlentities($defi, ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
     517 
     518        // Aus der Definition den String zwischen den ersten '' ausschneiden 
     519        $pos = strpos($defi, "'") + 1; 
     520        $len = strpos($defi, "'", $pos) - $pos; 
     521        $nutztab=substr($defi, $pos, $len); // Nutzungart Kategorie aus der Beschreibung ausschneiden 
     522 
     523        echo "\n<tr>\n\t"; 
     524                if ($j == 0) { 
     525                        echo "<td class='ll' title='Abschnitt der tats&auml;chlichen Nutzung'><img src='ico/Abschnitt.png' width='16' height='16' alt=''> Nutzung:</td>"; 
     526                } else { 
     527                        echo "<td>&nbsp;</td>"; 
     528                } 
     529                $absflaebuch = number_format($flae,0,",",".") . " m&#178;"; // Formatierte Abschnitts-Buch-FlÀche 
     530                echo "\n\t<td class='fla' title='Buchfl&auml;che des Abschnitts'>".$absflaebuch."</td>"; 
     531 
     532                echo "\n\t<td class='lr' title='".$title."'>"; 
     533                        if ($showkey) {echo "<span class='key'>(".$nutzsl.")</span> ";} 
     534                        echo $nutztab.", ".$nutzung 
     535                ."</td>" 
     536                ."\n\t<td>"; 
     537/*              //      Derzeit ist keine Gruppe zugeordnet 
     538                        switch ($grupp) { // Icon nach 4 Objektartengruppen 
     539                                case "Siedlung":   $ico = "Abschnitt.png"; break; 
     540                                case "Verkehr":    $ico = "Strassen_Klassifikation.png"; break; 
     541                                case "Vegetation": $ico = "Wald.png"; break; 
     542                                case "GewÀsser":   $ico = "Wasser.png";        break; 
     543                                default:        $ico = "Abschnitt.png"; break; 
     544                        } 
     545                        // Icon ist auch im Druck sichtbar, class='noprint' ?            
     546                        echo "<p class='nwlink'><img title='".$title."' src='ico/".$ico."' width='16' height='16' alt='NUA'></p>"; 
     547*/ 
     548                echo "</td>" 
     549        ."\n</tr>"; 
     550        $j++; 
     551} 
    524552pg_free_result($res); 
    525553// ENDE  N U T Z U N G 
    526554 
    527 echo "\n<tr>"; // Summenzeile 
    528         echo "\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>"; 
    529         echo "\n\t<td class='fla sum'>"; 
    530         echo "<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>"; 
     555echo "\n<tr>" // Summenzeile 
     556        ."\n\t<td class='ll' title='amtliche Fl&auml;che (Buchfl&auml;che)'>Fl&auml;che:</td>" 
     557        ."\n\t<td class='fla sum'>" 
     558        ."<span title='geometrisch berechnete Fl&auml;che = ".$fsgeomflaed."' class='flae'>".$fsbuchflaed."</span></td>"; 
    531559 
    532560        // Flaeche und Link auf GebÀude-Auswertung 
    533         echo "\n\t<td>&nbsp;</td>\n\t<td>"; 
    534                 echo "\n\t\t<p class='nwlink noprint'>"; // Gebaeude-Verschneidung 
    535                         echo "\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    536                         if ($idanzeige) {echo "&amp;id=j";} 
     561        echo "\n\t<td>&nbsp;</td>\n\t<td>" 
     562                ."\n\t\t<p class='nwlink noprint'>" // Gebaeude-Verschneidung 
     563                        ."\n\t\t\t<a href='alkisgebaeudenw.php?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    537564                        if ($showkey) {echo "&amp;showkey=j";} 
    538                         echo "' title='Geb&auml;udenachweis'>Geb&auml;ude <img src='ico/Haus.png' width='16' height='16' alt=''></a>"; 
    539                 echo "\n\t\t</p>"; 
    540         echo "\n\t</td>"; 
    541 echo "\n</tr>"; 
     565                        if ($cnt_adressen > 0) { // wenn Adresse vorgekommen ist 
     566                                echo "' title='Geb&auml;udenachweis'>Geb&auml;ude "; 
     567                        } else { // GebÀude mit Adresse gibt es NICHT, das ist klar 
     568                                echo "' title='Suche Geb&auml;ude ohne Adresse auf dem Flurst&uuml;ck oder angrenzende Geb&auml;ude'>Suche "; 
     569                        } 
     570                        echo "<img src='ico/Haus.png' width='16' height='16' alt=''></a>" 
     571                ."\n\t\t</p>" 
     572        ."\n\t</td>" 
     573."\n</tr>"; 
    542574 
    543575// H i n w e i s  auf Bodenneuordnung oder eine strittige Grenze 
    544576// b.name, b.artderfestlegung,  
    545577 
    546 $sql_boden ="SELECT a.wert, a.bezeichner AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
     578$sql_boden ="SELECT a.k AS wert, a.v AS art_verf, b.gml_id AS verf_gml, b.bezeichnung AS verf_bez,  
    547579b.name AS verf_name, d.bezeichnung AS stelle_bez, d.stelle AS stelle_key  
    548 FROM ax_bauraumoderbodenordnungsrecht b JOIN v_baurecht_adf a ON a.wert=b.artderfestlegung  
     580FROM ax_bauraumoderbodenordnungsrecht b  
     581LEFT JOIN alkis_wertearten a ON cast(b.artderfestlegung AS character varying)=a.k AND a.element='ax_bauraumoderbodenordnungsrecht' AND a.bezeichnung='artderfestlegung' 
    549582LEFT JOIN ax_dienststelle d ON b.stelle=d.stelle  
    550583WHERE b.endet IS NULL AND d.endet IS NULL   
    551 AND (ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL ), wkb_geometry)  
    552  OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL), wkb_geometry))"; 
     584AND (ST_Within((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL ), wkb_geometry) 
     585 OR ST_Overlaps((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL), wkb_geometry));"; 
    553586 
    554587pg_prepare($con, "bodeneuordnung", $sql_boden); 
    555588$res_bodeneuordnung = pg_execute($con, "bodeneuordnung", array($gmlid)); 
    556  
    557 $sql_str="SELECT gml_id  
    558 FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze)  
     589if (!$res_bodeneuordnung) { 
     590        echo "<p class='err'>Fehler bei Bau-, Raum- oder Bodenordnungsrecht</p>\n"; 
     591        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql_boden."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     592} 
     593 
     594$sql_str="SELECT gml_id FROM ax_besondereflurstuecksgrenze WHERE endet IS NULL AND 1000 = ANY(artderflurstuecksgrenze)  
    559595AND ST_touches((SELECT wkb_geometry FROM ax_flurstueck WHERE gml_id = $1 AND endet IS NULL),wkb_geometry);"; 
    560596 
    561597pg_prepare($con, "strittigeGrenze", $sql_str); 
    562598$res_strittigeGrenze = pg_execute($con, "strittigeGrenze", array($gmlid)); 
     599if (!$res_strittigeGrenze) { 
     600        echo "<p class='err'>Fehler bei strittige Grenze</p>\n"; 
     601        if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql_str."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     602} 
    563603 
    564604if (pg_num_rows($res_bodeneuordnung) > 0 OR pg_num_rows($res_strittigeGrenze) > 0) { 
    565         echo "\n<tr>"; 
    566         echo "\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> "; 
    567         echo "Hinweise:</td></h6>\n\t<td colspan=3>&nbsp;</td>"; 
    568         echo "\n</tr>"; 
     605        echo "\n<tr>" 
     606        ."\n\t<td title='Hinweise zum Flurst&uuml;ck'><h6><img src='ico/Hinweis.png' width='16' height='16' alt=''> " 
     607        ."Hinweise:</h6></td>\n\t<td colspan=3>&nbsp;</td>" 
     608        ."\n</tr>"; 
    569609 
    570610        if (pg_num_rows($res_bodeneuordnung) > 0) { 
     
    573613 
    574614                        // Zeile 1 - kommt immer, darum hier den Link 
    575                         echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>"; 
    576                                 echo "\n\t<td>Bodenrecht:</td>"; 
    577                                 echo "\n\t<td>Festlegung</td>"; // "Art der Festlegung" zu lang 
    578                                 echo "\n\t<td>"; 
     615                        echo "\n<tr title='Bau-, Raum- oder Bodenordnungsrecht'>" 
     616                                ."\n\t<td>Bodenrecht:</td>" 
     617                                ."\n\t<td>Festlegung</td>" // "Art der Festlegung" zu lang 
     618                                ."\n\t<td>"; 
    579619                                        if ($showkey) {echo "<span class='key'>(".$row['wert'].")</span> ";} 
    580                                         echo $row['art_verf']; 
    581                                 echo "</td>"; 
    582                                 echo "\n\t<td>"; 
     620                                        echo $row['art_verf'] 
     621                                ."</td>\n\t<td>"; 
    583622                                // LINK: 
    584                                 echo "\n\t\t<p class='nwlink noprint'>"; 
    585                                         echo "\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml']; 
    586                                         if ($idanzeige) {echo "&amp;id=j";} 
     623                                echo "\n\t\t<p class='nwlink noprint'>" 
     624                                        ."\n\t\t\t<a href='alkisbaurecht.php?gkz=".$gkz."&amp;gmlid=".$row['verf_gml']; 
    587625                                        if ($showkey) {echo "&amp;showkey=j";} 
    588                                         echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.png' width='16' height='16' alt=''></a>"; 
    589                                 echo "\n\t\t</p>";                       
    590                                 echo "</td>"; 
    591                         echo "\n</tr>"; 
     626                                        echo "' title='Bau-, Raum- oder Bodenordnungsrecht'>Recht <img src='ico/Gericht.png' width='16' height='16' alt=''></a>" 
     627                                ."\n\t\t</p>"            
     628                                ."</td>" 
     629                        ."\n</tr>"; 
    592630 
    593631                        // Zeile 2 
    594                         $dstell=$row['stelle_key']; // LEFT JOIN 
     632                        $dstell=$row['stelle_key']; 
    595633                        if ($dstell != "") { // Kann auch leer sein 
    596                                 echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>"; 
    597                                         echo "\n\t<td>&nbsp;</td>"; 
    598                                         echo "\n\t<td>Dienststelle</td>"; 
    599                                         echo "\n\t<td>"; 
     634                                echo "\n<tr title='Flurbereinigungsbeh&ouml;rde'>" 
     635                                        ."\n\t<td>&nbsp;</td>" 
     636                                        ."\n\t<td>Dienststelle</td>" 
     637                                        ."\n\t<td>"; 
    600638                                                if ($showkey) {echo "<span class='key'>(".$dstell.")</span> ";} 
    601                                                 echo $row['stelle_bez']; 
    602                                         echo "</td>"; 
    603                                         echo "\n\t<td>&nbsp;</td>"; 
    604                                 echo "\n</tr>"; 
     639                                                echo $row['stelle_bez'] 
     640                                        ."</td>" 
     641                                        ."\n\t<td>&nbsp;</td>" 
     642                                ."\n</tr>"; 
    605643                        } 
    606644 
     
    609647                        $vnam=$row['verf_name']; // noch seltener 
    610648                        if ($vbez != "") { 
    611                                 echo "\n<tr title='Verfahrensbezeichnung'>"; 
    612                                         echo "\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>"; 
    613                                         echo "\n\t<td>"; 
     649                                echo "\n<tr title='Verfahrensbezeichnung'>" 
     650                                        ."\n\t<td>&nbsp;</td>\n\t<td>Verfahren</td>" 
     651                                        ."\n\t<td>"; 
    614652                                                if ($vnam == "") { 
    615653                                                        echo $vbez; // nur die Nummer 
     
    618656                                                        echo $vnam; 
    619657                                                } 
    620                                         echo "</td>"; 
    621                                         echo "\n\t<td>&nbsp;</td>"; 
    622                                 echo "\n</tr>"; 
    623                         } 
    624                 } 
    625         } 
    626  
     658                                        echo "</td>" 
     659                                        ."\n\t<td>&nbsp;</td>" 
     660                                ."\n</tr>"; 
     661                        } 
     662                } 
     663        } 
    627664        if (pg_num_rows($res_strittigeGrenze) > 0) { // 1 Zeile 
    628                 echo "\n<tr>"; 
    629                 echo "\n<td>Strittige Grenze:</td>"; 
    630                 echo "<td colspan=2>Mindestens eine Flurst&uuml;cksgrenze ist als <b>strittig</b> zu bezeichnen. Sie kann nicht festgestellt werden, weil die Beteiligten sich nicht &uuml;ber den Verlauf einigen. Nach sachverst&auml;ndigem Ermessen der Katasterbeh&ouml;rde ist anzunehmen, dass das Liegenschaftskataster nicht die rechtm&auml;&szlig;ige Grenze nachweist.</td>"; 
    631                 echo "\n<td>&nbsp;</td>"; 
    632                 echo "\n</tr>"; 
    633         } 
    634 } 
    635  
     665                echo "\n<tr>\n<td>Strittige Grenze:</td>" 
     666                ."<td colspan=2>Mindestens eine Flurst&uuml;cksgrenze ist als <b>strittig</b> zu bezeichnen. Sie kann nicht festgestellt werden, weil die Beteiligten sich nicht &uuml;ber den Verlauf einigen. Nach sachverst&auml;ndigem Ermessen der Katasterbeh&ouml;rde ist anzunehmen, dass das Liegenschaftskataster nicht die rechtm&auml;&szlig;ige Grenze nachweist.</td>" 
     667                ."\n<td>&nbsp;</td>\n</tr>"; 
     668        } 
     669} 
    636670echo "\n</table>"; 
    637671 
    638672// G R U N D B U C H 
    639 echo "\n<table class='outer'>"; 
    640         echo "\n<tr>"; 
    641                 echo "\n\t<td>"; 
    642                         echo "\n\t\t<a name='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>"; 
    643                 echo "\n\t</td>"; 
    644                 echo "\n\t<td>"; 
    645                         echo "\n\t\t<p class='nwlink noprint'>"; 
    646                                 echo "\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid; 
    647                                 if ($idanzeige) { echo "&amp;id=j";} 
    648                                 if ($showkey)   {echo "&amp;showkey=j";} 
     673echo "\n<table class='outer'>" 
     674        ."\n<tr>" 
     675                ."\n\t<td>" 
     676                        ."\n\t\t<a id='gb'></a>\n\t\t<h3><img src='ico/Grundbuch_zu.png' width='16' height='16' alt=''> Grundb&uuml;cher</h3>" 
     677                ."\n\t</td>" 
     678                ."\n\t<td>" 
     679                        ."\n\t\t<p class='nwlink noprint'>" 
     680                                ."\n\t\t\t<a href='".$_SERVER['PHP_SELF']. "?gkz=".$gkz."&amp;gmlid=".$gmlid; 
     681                                if ($showkey) {echo "&amp;showkey=j";} 
     682 
    649683                                // Umschalter: FS-Nachw ruft sich selbst mit geaend. Param. auf. Posit. auf Marke #gb 
    650684                                if ($eig=="j") { 
    651685                                        echo "&amp;eig=n#gb' title='Flurst&uuml;cksnachweis'>ohne Eigent&uuml;mer</a>"; 
    652                                 } else { 
    653                                         echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer "; 
    654                                         echo "<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 
     686                                } else { // ++ könnte man sich sparen, wenn unten nur ein "fiktives Blatt" kommt 
     687                                        echo "&amp;eig=j#gb' title='Flurst&uuml;cks- und Eigent&uuml;mernachweis'>mit Eigent&uuml;mer " 
     688                                        ."<img src='ico/EigentuemerGBzeile.png' width='16' height='16' alt=''></a>"; 
    655689                                } 
    656                         echo "\n\t\t</p>"; 
    657                 echo "\n\t</td>"; 
    658         echo "\n</tr>"; 
    659 echo "\n</table>\n"; 
     690                        echo "\n\t\t</p>" 
     691                ."\n\t</td>" 
     692        ."\n</tr>" 
     693."\n</table>\n"; 
    660694 
    661695// B U C H U N G S S T E L L E N  zum FS (istGebucht) 
    662 $sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.bezeichner AS bart  
     696$sql ="SELECT s.gml_id, s.buchungsart, s.laufendenummer as lfd, s.zaehler, s.nenner, s.nummerimaufteilungsplan as nrpl, s.beschreibungdessondereigentums as sond, b.v AS bart, b.d AS barttitle 
    663697FROM ax_flurstueck f JOIN ax_buchungsstelle s ON s.gml_id=f.istgebucht  
    664 LEFT JOIN v_bs_buchungsart b ON s.buchungsart=b.wert  
     698LEFT JOIN alkis_wertearten b ON cast(s.buchungsart AS character varying)=b.k AND b.element='ax_buchungsstelle' AND b.bezeichnung='buchungsart' 
    665699WHERE f.gml_id= $1 AND f.endet IS NULL AND s.endet IS NULL ORDER BY s.laufendenummer;"; 
    666700 
     
    670704if (!$ress) { 
    671705        echo "\n<p class='err'>Keine Buchungsstelle.</p>\n"; 
    672         //if ($debug > 1) {echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>";} 
    673         if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
    674 } 
    675 $bs=0; // Z.Buchungsstelle 
     706        if ($debug > 1) { 
     707                echo "<p class='dbg'>Fehler:".pg_result_error($ress)."</p>"; 
     708                if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmlid."'</p>";} 
     709        } 
     710} 
     711$bs=0; // Z.BuchungsStelle 
    676712while($rows = pg_fetch_array($ress)) { 
    677713        $gmls=$rows["gml_id"]; // gml b-Stelle 
    678714        $lfd=$rows["lfd"]; // BVNR 
     715        $barttitle=htmlentities($rows["barttitle"], ENT_QUOTES, "UTF-8"); // .. fÃŒr Anzeige aufbereitet 
    679716 
    680717        // B U C H U N G S B L A T T  zur Buchungsstelle (istBestandteilVon) 
    681         $sql ="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung  
     718        $sql="SELECT b.gml_id, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, wb.v AS blattartv, wb.d AS blattartd, z.bezeichnung  
    682719        FROM ax_buchungsstelle s JOIN ax_buchungsblatt b ON b.gml_id=s.istbestandteilvon  
    683720        LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
     721        LEFT JOIN alkis_wertearten wb ON cast(b.blattart AS character varying)=wb.k AND wb.element='ax_buchungsblatt' AND wb.bezeichnung='blattart'  
    684722        WHERE s.gml_id = $1 AND s.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL 
    685723        ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung ;"; 
    686724 
    687         $v = array($gmls); 
    688         $resg = pg_prepare("", $sql); 
    689         $resg = pg_execute("", $v); 
     725        $v=array($gmls); 
     726        $resg=pg_prepare("", $sql); 
     727        $resg=pg_execute("", $v); 
    690728        if (!$resg) { 
    691729                echo "\n<p class='err'>Kein Buchungsblatt.</p>\n"; 
     
    696734                $gmlg=$rowg["gml_id"]; 
    697735                $beznam=$rowg["bezeichnung"]; 
    698                 $blattkeyg=$rowg["blattart"]; 
    699                 $blattartg=blattart($blattkeyg); 
    700  
    701                 echo "\n<hr>"; 
    702                 echo "\n<table class='outer'>"; 
    703                 echo "\n<tr>"; // 1 row only 
     736                $blattkeyg=$rowg["blattart"]; // Key 
     737                $blattartg=$rowg["blattartv"]; // Value 
     738                echo "\n<hr>" 
     739                ."\n<table class='outer'>" 
     740                ."\n<tr>"; // 1 row only 
    704741                        echo "\n\t<td>"; // Outer linke Spalte: 
    705742 
     
    710747                                        echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    711748                                } 
    712                                         echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>"; 
    713                                                 echo "\n\t\t<td class='head'>".$blattartg."</td>"; 
    714                                                 echo "\n\t\t<td class='head'>Lfd-Nr.</td>"; 
    715                                                 echo "\n\t\t<td class='head'>Buchungsart</td>"; 
    716                                         echo "\n\t</tr>"; 
    717                                         echo "\n\t<tr>"; 
    718                                                 echo "\n\t\t<td title='Grundbuchbezirk'>"; 
    719                                                         if ($showkey) { 
    720                                                                 echo "<span class='key'>".$rowg["bezirk"]."</span><br>"; 
    721                                                         } 
    722                                                 echo $beznam."&nbsp;</td>"; 
    723  
    724                                                 echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>"; 
    725  
    726                                                 echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>"; 
    727  
    728                                                 echo "\n\t\t<td title='Buchungsart'>"; 
    729                                                         if ($showkey) { 
    730                                                                 echo "<span class='key'>".$rows["buchungsart"]."</span><br>"; 
    731                                                         } 
    732                                                 echo $rows["bart"]."</td>"; 
    733                                         echo "\n\t</tr>"; 
    734                                 echo "\n\t</table>"; 
     749                                        echo "\n\t<tr>\n\t\t<td class='head'>Bezirk</td>" 
     750                                                ."\n\t\t<td class='head' title='".$rowg["blattartd"]."'>"; 
     751                                                if ($showkey) {echo "<span class='key'>".$blattkeyg."</span>&nbsp;";} 
     752                                                echo $blattartg."</td>" 
     753                                                ."\n\t\t<td class='head'>Lfd-Nr.</td>" 
     754                                                ."\n\t\t<td class='head'>Buchungsart</td>" 
     755                                        ."\n\t</tr>" 
     756                                        ."\n\t<tr>" 
     757                                                ."\n\t\t<td title='Grundbuchbezirk'>"; 
     758                                                        if ($showkey) {echo "<span class='key'>".$rowg["bezirk"]."</span><br>";} 
     759                                                echo $beznam."&nbsp;</td>" 
     760                                                ."\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowg["blatt"]."</span></td>" 
     761                                                ."\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rows["lfd"]."</td>" 
     762                                                ."\n\t\t<td title='".$barttitle."'>"; 
     763                                                if ($showkey) {echo "<span class='key'>".$rows["buchungsart"]."</span><br>";} 
     764                                                echo $rows["bart"]."</td>" 
     765                                        ."\n\t</tr>" 
     766                                ."\n\t</table>"; 
    735767 
    736768                                // Miteigentumsanteil 
     
    738770                                        echo "\n<p class='ant'>".$rows["zaehler"]."/".$rows["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    739771                                } 
    740                         echo "\n</td>"; 
    741  
    742                         echo "\n<td>"; // Outer rechte Spalte: NW-Links 
    743                                 if ($idanzeige) { 
    744                                         linkgml($gkz, $gmls, "Buchungsstelle", "ax_buchungsstelle"); 
    745                                         echo "<br>"; 
    746                                         linkgml($gkz, $gmlg, "Buchungsblatt", ""); // ax_buchungsblatt keine Relationen 
    747                                 } 
    748                                 echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>"; 
    749                                         echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd; 
    750                                                 if ($idanzeige) {echo "&amp;id=j";} 
     772                        echo "\n</td>\n<td>"; // Outer rechte Spalte: NW-Links 
     773                                echo "\n\t<p class='nwlink noprint'>weitere Auskunft:<br>" 
     774                                        ."\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$gmlg."#bvnr".$lfd; 
    751775                                                if ($showkey)   {echo "&amp;showkey=j";} 
    752776                                                if ($blattkeyg == 1000) { 
     
    755779                                                        echo "' title='Grundbuchnachweis'>"; 
    756780                                                } 
    757                                                 echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>"; 
    758                                         echo "</a>"; 
    759                                 echo "\n\t</p>"; 
     781                                                echo $blattartg." <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>" 
     782                                        ."</a>" 
     783                                ."\n\t</p>"; 
    760784 
    761785                                ber_bs_hinw($gmls); // berechtigte Buchungstellen Hinweis 
    762786 
    763                         echo "\n</td>"; 
    764                 echo "\n</tr>"; 
    765                 echo "\n</table>"; 
     787                        echo "\n</td>" 
     788                ."\n</tr>" 
     789                ."\n</table>"; 
    766790 
    767791                // +++ Weitere Felder ausgeben? BeschreibungDesUmfangsDerBuchung 
     
    781805                                if ($blattkeyg == 1000) { 
    782806                                        echo "\n<p class='err'>Keine Namensnummer gefunden.</p>"; 
    783                                         linkgml($gkz, $gmlg, "Buchungsblatt", ""); 
    784807                                } else { 
    785808                                        echo "\n<p>ohne Eigent&uuml;mer.</p>"; 
     
    789812                $bl++; 
    790813        } 
    791         if ($bl == 0) { 
    792                 echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>"; 
    793                 echo "\n<p class='err'>Parameter: gml_id= ".$gmls.", Beziehung='istBestandteilVon'</p>"; 
    794                 linkgml($gkz, $gmls, "Buchungstelle", "ax_buchungsstelle"); 
    795         } 
    796  
    797  
    798 /* ++ Diese Teil wird deaktiviert, weil das nicht vorkommen kann. SpÀter komplett löschen ++ 
    799  
    800 // Dienende Buchungsstellen ausgeben - Beginn 
    801  
    802         // Buchungstelle herr. >an> Buchungstelle dien. >istBestandteilVon> BLATT -> Bezirk 
    803         $sql ="SELECT sd.gml_id AS s_gml, sd.buchungsart, sd.laufendenummer as lfd, sd.zaehler, sd.nenner, sd.nummerimaufteilungsplan as nrpl, sd.beschreibungdessondereigentums as sond,  
    804         b.gml_id AS g_gml, b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung as blatt, b.blattart, z.bezeichnung, a.bezeichner AS bart  
    805         FROM ax_buchungsstelle sh JOIN ax_buchungsstelle sd ON sd.gml_id=ANY(sh.an)  
    806         JOIN ax_buchungsblatt b ON b.gml_id=sd.istbestandteilvon  
    807         LEFT JOIN ax_buchungsblattbezirk z ON z.land=b.land AND z.bezirk=b.bezirk  
    808         LEFT JOIN v_bs_buchungsart a ON sd.buchungsart=a.wert  
    809         WHERE sh.gml_id= $1 AND sh.endet IS NULL AND sd.endet IS NULL AND b.endet IS NULL AND z.endet IS NULL  
    810         ORDER BY b.bezirk, b.buchungsblattnummermitbuchstabenerweiterung;"; 
    811  
    812         $v = array($gmls); // id herrschende Buchungsstelle 
    813         $resan = pg_prepare("", $sql); 
    814         $resan = pg_execute("", $v); 
    815         if (!$resan) { 
    816                 echo "\n<p class='err'>Fehler bei 'weitere Buchungsstellen'.</p>\n"; 
    817                 if ($debug > 2) {echo "<p class='dbg'>SQL=<br>".$sql."<br>$1 = gml_id = '".$gmls."'</p>";} 
    818         } 
    819  
    820         $an=0; // Stelle >Recht an> Stelle 
    821         while($rowan = pg_fetch_array($resan)) { 
    822                 $beznam=$rowan["bezeichnung"]; 
    823                 $blattkeyan=$rowan["blattart"]; // Schluessel von Blattart 
    824                 $blattartan=blattart($blattkeyan); 
    825                 echo "\n<hr>\n<table class='outer'>"; 
    826                 echo "\n<tr>"; // 1 row only 
    827                         echo "\n<td>"; // outer linke Spalte 
    828                                 // Rahmen mit Kennzeichen GB 
    829                                 if ($blattkeyan == 1000) { 
    830                                         echo "\n\t<table class='kennzgb' title='Bestandskennzeichen'>"; 
    831                                 } else { 
    832                                         echo "\n\t<table class='kennzgbf' title='Bestandskennzeichen'>"; // dotted 
    833                                 } 
    834                                         echo "\n\t<tr>"; 
    835                                                 echo "\n\t\t<td class='head'>Bezirk</td>"; 
    836                                                 echo "\n\t\t<td class='head'>".$blattartan."</td>"; 
    837                                                 echo "\n\t\t<td class='head'>Lfd-Nr,</td>"; 
    838                                                 echo "\n\t\t<td class='head'>Buchungsart</td>"; 
    839                                         echo "\n\t</tr>"; 
    840                                         echo "\n\t<tr>"; 
    841                                                 echo "\n\t\t<td title='Grundbuchbezirk'>"; 
    842                                                 if ($showkey) {echo "<span class='key'>".$rowan["bezirk"]."</span><br>";} 
    843                                                 echo $beznam."</td>"; 
    844  
    845                                                 echo "\n\t\t<td title='Grundbuch-Blatt'><span class='wichtig'>".$rowan["blatt"]."</span></td>"; 
    846  
    847                                                 echo "\n\t\t<td title='Bestandsverzeichnis-Nummer (BVNR, Grundst&uuml;ck)'>".$rowan["lfd"]."</td>"; 
    848  
    849                                                 echo "\n\t\t<td title='Buchungsart'>"; 
    850                                                         if ($showkey) {echo "<span class='key'>".$rowan["buchungsart"]."</span><br>";} 
    851                                                         echo $rowan["bart"]; 
    852                                                 echo "</td>"; 
    853                                         echo "\n\t</tr>"; 
    854                                 echo "\n\t</table>"; 
    855                                 if ($rowan["zaehler"] <> "") { 
    856                                         echo "\n<p class='ant'>".$rowan["zaehler"]."/".$rowan["nenner"]."&nbsp;Anteil am Flurst&uuml;ck</p>"; 
    857                                 } 
    858                         echo "\n</td>"; 
    859                         echo "\n<td>"; // outer rechte Spalte 
    860                                 if ($idanzeige) { 
    861                                         linkgml($gkz, $rowan["s_gml"], "Buchungsstelle", "ax_buchungsstelle"); 
    862                                         echo "<br>"; 
    863                                         linkgml($gkz, $rowan["g_gml"], "Buchungsblatt", ""); 
    864                                 } 
    865                                 echo "\n<br>"; 
    866                                 echo "\n\t<p class='nwlink'>"; 
    867                                         echo "\n\t\t<a href='alkisbestnw.php?gkz=".$gkz."&amp;gmlid=".$rowan["g_gml"]; 
    868                                                 if ($idanzeige) {echo "&amp;id=j";} 
    869                                                 if ($showkey)   {echo "&amp;showkey=j";} 
    870                                                 echo "' title='Grundbuchnachweis mit kompletter Eigent&uuml;merangabe'>"; 
    871                                                 echo $blattartan; 
    872                                                 echo " <img src='ico/GBBlatt_link.png' width='16' height='16' alt=''>"; 
    873                                         echo "</a>"; 
    874                                 echo "\n\t</p>"; 
    875                         echo "\n\t</td>"; 
    876                 echo "\n</tr>"; 
    877                 echo "\n</table>"; 
    878  
    879                 if ($blattkeyan != 1000) { 
    880                         echo "\n<p>Blattart: ".$blattartan." (".$blattkeyan.").<br>\n";  
    881                 } 
    882                 if ($rowan["nrpl"] != "") { 
    883                         echo "<p class='nrap' title='Nummer im Aufteilungsplan'>Nummer <span class='wichtig'>".$rowan["nrpl"]."</span> im Aufteilungsplan.</p>"; 
    884                 } 
    885                 if ($rowan["sond"] != "") { 
    886                         echo "<p class='sond' title='Sondereigentum'>Verbunden mit dem Sondereigentum<br>".$rowan["sond"]."</p>"; 
    887                 } 
    888                 if ($eig == "j") { 
    889                         $n = eigentuemer($con, $rowan["g_gml"], false, ""); // ohne Adresse 
    890                 } 
    891                 $an++;   
    892         } 
    893         pg_free_result($resan); 
    894 // Dienende Buchungsstellen ausgeben - Ende 
    895 */ 
    896  
     814        if ($bl == 0) {echo "\n<p class='err'>Kein Buchungsblatt gefunden.</p>";} 
    897815        $bs++; 
    898816} 
    899817pg_free_result($resg); 
    900 if ($bs == 0) { 
    901         echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>"; 
    902         linkgml($gkz, $gmlid, "Flurst&uuml;ck", "ax_flurstueck"); 
    903 } 
     818if ($bs == 0) {echo "\n<p class='err'>Keine Buchungstelle gefunden.</p>";} 
    904819pg_close($con); 
    905820echo <<<END 
    906821 
    907 <form action=''> 
    908         <div class='buttonbereich noprint'> 
    909         <hr> 
    910                 <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
    911                 <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
    912                 <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.png" width="32" height="16" alt="Export"></a>&nbsp; 
    913         </div> 
    914 </form> 
     822<div class='buttonbereich noprint'> 
     823<hr> 
     824        <a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.png" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp; 
     825        <a title="Drucken" href='javascript:window.print()'><img src="ico/print.png" width="16" height="16" alt="Drucken"></a>&nbsp; 
     826        <a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download_fs.png" width="32" height="16" alt="Export"></a>&nbsp; 
     827</div> 
    915828END; 
    916  
    917829footer($gmlid, $_SERVER['PHP_SELF']."?", "&amp;eig=".$eig); 
    918  
    919830?> 
    920  
    921831</body> 
    922832</html> 
Note: See TracChangeset for help on using the changeset viewer.